/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.easoft.code.pos.ui.controllers.impl;

import com.easoft.code.pos.data.dao.GenericDao;
import com.easoft.code.pos.data.exception.CoreDataLayerException;
import com.easoft.code.pos.data.pojos.Categoria;
import com.easoft.code.pos.data.pojos.Producto;
import com.easoft.code.pos.data.util.QueryParameter;
import com.easoft.code.pos.ui.controllers.DataEntryController;
import com.easoft.code.pos.ui.models.PojoListModel;
import java.util.Arrays;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Eliu
 */
public class ProductosControllerImpl extends DataEntryController<Producto> {

    public ProductosControllerImpl() {
        super(Arrays.asList(new String[]{"Codigo", "Codigo Barras",
            "Nombre", "Precio Compra", "Categoria", "Descuento"}),
                Arrays.asList(new String[]{"Codigo", "CodigoBarra",
                    "Nombre", "PrecioCosto",
                    "Categoria", "Descuento"}), Producto.class);
        prepareComboCategorias();

    }

    private void prepareComboCategorias() {
        try {
            List<Categoria> l = (List<Categoria>) GenericDao.getMe().doNamedQuery("Categoria.findAll", new QueryParameter[]{},
                    Categoria.class, false);
            PojoListModel catMod = new PojoListModel(l);
            addNewModel("Categoria", catMod);
        } catch (CoreDataLayerException ex) {
            Logger.getLogger(ProductosControllerImpl.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    @Override
    public void reload() {
        super.reload();
        prepareComboCategorias();
    }
}
